///**
// * Project Name:cas-web
// * File Name:AccountService.java
// * Package Name:com.paas.podinns.cassever.service
// * Date:2015年10月30日下午2:22:28
// * author Administrator
// *
// */
//package com.paas.service.modules.sso.cas.service.service;
//
//import java.io.IOException;
//import java.util.List;
//
//import javax.annotation.Resource;
//
//import net.sf.json.JSONArray;
//
//import org.apache.http.client.ClientProtocolException;
//import org.apache.log4j.Logger;
//import org.jasig.cas.authentication.handler.PasswordEncoder;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import com.alibaba.fastjson.JSONObject;
//import com.github.inspektr.common.web.ClientInfo;
//import com.github.inspektr.common.web.ClientInfoHolder;
//import com.paas.base.modules.utils.lang.StringUtilExt;
////import com.paas.podinns.busisys.BusiSystemInfo;
////import com.paas.podinns.busisys.IBusiSysService;
////import com.paas.podinns.user.IUserProvider;
////import com.paas.podinns.user.UserVo;
////import com.pubframework.common.util.StringUtilExt;
////import com.pubframework.commontrd.Props;
////import com.pubframework.commontrd.http.HttpUtil;
//
///**
// * @ClassName: AccountService 
// * @Desc（描述这个类的做什么的）: 
// * 		登陆验证
// * @date: 2015年10月30日 下午2:22:28
// * @author Administrator
// * @version 
// */
//@Service
//public class AccountService {
//
//    private Logger logger = Logger.getLogger(getClass());
//	
//	@Autowired
//	private PasswordEncoder passwordEncoder;
//	
//	
//	private final static String LOG_SERVER_URL ;
//	
//	private final static String SUPER_ADMIN  ;
//	
//	private final static String SUPER_PASSOWRD  ;
//	
//	static{
//		Props prop = new Props("/log.properties", AccountService.class);
//		Props aProps = new Props("/account.properties", AccountService.class);
//		LOG_SERVER_URL = prop.getProperty("logServerUrl");
//		SUPER_ADMIN = aProps.getProperty("superadmin");
//		SUPER_PASSOWRD =  aProps.getProperty("password");
//	}
//	
//	/**
//	 * 
//	* @Title: checkAccount
//	* @Description: (描述这个方法的作用)
//	*		验证用户登录名和密码
//	* @Notice : (需要注意的地方)
//	*		TODO
//	* @Sample : (使用示例)
//	*		TODO
//	* @param username
//	* @param password
//	* @return boolean
//	* 	
//	* @throws （异常信息）
//	 */
//	public String checkAccount(String loginName, String encryptedPassword,String systemId) {
//		
//		String code = "1";
//		String msg = "登陆成功";
//		String sysName = systemId;
//		String userName = loginName;
//		String level = "info";
//		String isException = "0";
//		String exceptionMsg = "";
//		if(loginName.equals(SUPER_ADMIN) && passwordEncoder.encode(SUPER_PASSOWRD).equals(encryptedPassword)){
//			
//		}else{
//			try{
//				if(StringUtilExt.isNotEmpty(systemId)){
//					systemId = systemId.substring(0,systemId.length()-1);
//				//如果没有传入systemId,并且不是超级管理员，则无权限
//				
//					UserVo user = userProvider.getUserByLoginName(loginName);
//					if(null != user){
//						 userName = user.getUserName();
//					}
//					if(null==user){
//						 code = "-3";//用户不存在
//						 msg= "账户不存在";
//						 level = "warn";
//					}else if(!user.getPassword().equals(encryptedPassword)){
//						code = "-4";//密码错误
//						 msg= "密码错误";
//						 level = "warn";
//					}else {
//						List<BusiSystemInfo> busiSystemInfos = busiSysService.getBusiSysByLoginName(loginName);
//						BusiSystemInfo info = getBusiInfo(busiSystemInfos,systemId);
//						if(null == info){
//							code = "-2";//权限不足
//							 msg= "权限不足";
//							 level = "warn";
//						}else{
//							sysName = info.getName();
//						}
//						
//					}
//				}else{
//					 code = "-2";//权限不足
//					 msg= "权限不足";
//					 level = "warn";
//				}
//			
//				
//				
//			}catch(Exception e){
//				code = "-1";
//				e.printStackTrace();
//				 msg= "服务异常";
//				 isException = "1";
//				 exceptionMsg = e.getMessage();
//				 level = "error";
//			}
//		}
//		
//		try{
//			addLog(systemId, sysName,level, msg,isException,exceptionMsg, userName);
//		}catch(Exception e){
//			e.printStackTrace();
//		}
//		
//		
//		return code;
//	}
//
//	/**
//	 * @Desc(这里用一句话描述这个方法的作用)
//	 *		根据给定的系统标识在集合里面查询系统信息
//	 *	
//	 * @Tip(这里描述这个方法的注意事项 – 可选)
//	 *		
//	 * @param busiSystemInfos
//	 * @param systemCode
//	 * @return
//	 * 		返回值类型BusiSystemInfo
//	 * @exception
//	 * @date 2015年12月23日下午2:20:56
//	 * @author zhouziqiang
//	 */
//	private BusiSystemInfo getBusiInfo(List<BusiSystemInfo> busiSystemInfos,String systemCode){
//		BusiSystemInfo busiSystemInfo = null;
//		if(null != busiSystemInfos && StringUtilExt.isNotEmpty(systemCode)){
//			for(BusiSystemInfo bInfo :busiSystemInfos){
//				if(bInfo.getCode().equals(systemCode)){
//					busiSystemInfo = bInfo;
//					break;
//				}
//			}
//		}
//		return busiSystemInfo;
//	}
//	/**
//	 * @Desc(这里用一句话描述这个方法的作用)
//	 *		添加日志
//	 *	
//	 * @Tip(这里描述这个方法的注意事项 – 可选)
//	 *		
//	 * @param sysCode
//	 * @param sysName
//	 * @param level
//	 * @param category
//	 * @param categoryDesc
//	 * @param type
//	 * @param typeDesc
//	 * @param msg
//	 * @param userName
//	 * @param extraInfo
//	 * 		返回值类型void
//	 * @exception
//	 * @date 2015年12月23日上午11:22:18
//	 * @author zhouziqiang
//	 */
//	public void addLog(String sysCode,String sysName,String level,String msg,String isException,String exceptionMsg,String userName){
//		String serverUrl = LOG_SERVER_URL+"/sysLog";
//		String methodName = "simpleLog";
//		String paramType = "form";
//		JSONObject jsonObject = new JSONObject();
//		jsonObject.put("sysCode",sysCode );
//		jsonObject.put("sysName",sysName );
//		jsonObject.put("level",level );
//		jsonObject.put("category","operation" );
//		jsonObject.put("categoryDesc","操作日志" );
//		jsonObject.put("type","login" );
//		jsonObject.put("typeDesc","登陆日志" );
//		jsonObject.put("msg",msg );
//		jsonObject.put("isException", isException);
//		jsonObject.put("exceptionMsg", "exceptionMsg");
//		jsonObject.put("userName",userName );
//		ClientInfo clientInfo = ClientInfoHolder.getClientInfo();
//		String ip = clientInfo.getClientIpAddress();
//		jsonObject.put("ip",ip );
//		net.sf.json.JSONArray eJsonArray = new JSONArray();
//		net.sf.json.JSONObject extraJsonObject = new net.sf.json.JSONObject();
//		extraJsonObject.put("propName", "登录状态，1:成功；0：失败");
//		extraJsonObject.put("propCode", "loginSate");
//		extraJsonObject.put("propValue", "1");
//		eJsonArray.add(extraJsonObject);
//		jsonObject.put("extraLogInfos" ,eJsonArray);
//		try {
//			HttpUtil.post(serverUrl, methodName, paramType, jsonObject);
//		} catch (ClientProtocolException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		} catch (IOException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//			logger.error(e);
//		}
//	}
//
//}
